/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package DigimonAdventure.Database;

import javax.swing.ImageIcon;

/**
 *
 * @author Benz Louis
 */
public enum Shield implements Sellable{
	//identifier (name ,modV, modS, modR, modA, price)
	//modifier bukan persen namun nilai
	//identifier adalah nama program buat si item
	//name adalah nama alias yang bakal terbaca di sistem ntar
	//modV berarti nambahin vitality (convert ke HP), modS nambahin strength (convert ke attack), dst
	//price berarti harga jual di shop (harga jual = harga beli/2)

	None ("-Empty Slot-",0,0,0,0,0,"This slot is empty...","N/A","/DigimonAdventure/Graphics/Shd.gif"),

	/**SShd - Standard Shield, +Res only*/
	SShd1 ("Crude Shield",0,0,30,0,100,"A crude shield that provides only minimum protection","Minor increase in Defense","/DigimonAdventure/Graphics/Shd.gif"),
	SShd2 ("Kite Shield",0,0,100,0,500,"A kite-shaped shield that provides better protection","Moderate increase in Defense","/DigimonAdventure/Graphics/Shd.gif"),
	SShd3 ("Great Shield",0,0,300,0,2000,"A shield that could repel almost any blows","Major increase in Defense","/DigimonAdventure/Graphics/Shd.gif"),

	/**HShd - Heavy Shield, +Res, -Agi*/
	HShd1 ("Heavy Shield",0,0,50,-10,150,"A heavy shield that offers heavy protection","Increase Defense, but slightly reduces Agility","/DigimonAdventure/Graphics/HShd.gif"),
	HShd2 ("Tower Shield",0,0,200,-50,700,"An even heavier shield that offers even heavier protection","Greatly increase Defense, but reduces Agility","/DigimonAdventure/Graphics/HShd.gif"),
	HShd3 ("Blade's Bane",0,0,500,-150,3000,"Has the characteristics of an immovable fortress","Extremely increase Defense, but greatly reduces Agility","/DigimonAdventure/Graphics/HShd.gif"),

	/**WShd - Weaponlike Shield, +Res & Str*/
	WShd1 ("Thorny Shield",0,20,20,0,150,"Dare to tuch it, anyone?","Slightly increase Defense & Attack","/DigimonAdventure/Graphics/WShd.gif"),
	WShd2 ("Bladed Shield",0,50,70,0,700,"A combination of shield and blade","Increase Defense & Attack","/DigimonAdventure/Graphics/WShd.gif"),
	WShd3 ("Buster Shield",0,150,200,0,3000,"Crush your enemies with this 'Shield'!","Greatly increases Defense & Attack","/DigimonAdventure/Graphics/WShd.gif"),

	/**VShd - Vitality Shield, +Res & Vit*/
	VShd1 ("Carapace Shield",30,0,20,0,150,"It fuses with the wielder to increase vigor","Slightly increase Defense & HP","/DigimonAdventure/Graphics/VShd.gif"),
	VShd2 ("Living Shield",100,0,70,0,700,"Turns the wielder into a living shield","Increase Defense & HP","/DigimonAdventure/Graphics/VShd.gif"),
	VShd3 ("Holy Aegis",300,0,200,0,3000,"Harm shall not reach the wielder of this legendary shield","Greatly increase Defense & Vitality","/DigimonAdventure/Graphics/VShd.gif"),

	/**AShd - Agile Shield, +Res & Agi*/
	AShd1 ("Light Shield",0,0,20,10,150,"A light shield that provides better mobility","Slightly increase Defense & Agility","/DigimonAdventure/Graphics/AShd.gif"),
	AShd2 ("Shield of Gale",0,0,70,30,700,"Makes you untouchable like a gale","Increase Defense & Agility","/DigimonAdventure/Graphics/AShd.gif"),
	AShd3 ("Elfinlore Shield",0,0,200,100,3000,"The legendary shield of the Elven heroes","Greatly increase Defense & Agility","/DigimonAdventure/Graphics/AShd.gif");

    private String name;
	private int modV;
	private int modS;
	private int modR;
	private int modA;
	private int price;
    private String desc;
    private String val;
    private String imageLoc;
    private ImageIcon icon;

    Shield(String name,int modV,int modS,int modR,int modA,int price,String desc, String val, String imageLoc){
		this.name = name;
		this.modV = modV;
		this.modS = modS;
		this.modR = modR;
		this.modA = modA;
        this.price = price;
        this.desc = desc;
        this.val = val;
        this.imageLoc = imageLoc;
	}
	//kasih getter juga
	public String getName(){
		return name;
	}
	public int getModV() {
		return modV;
	}
	public int getModS() {
		return modS;
	}
	public int getModR() {
		return modR;
	}
	public int getModA() {
		return modA;
	}
    public int getPrice() {
        return price;
    }
    public String getDesc(){
        return desc;
    }
    public String getVal(){
        return val;
    }
    public String getImageLocation(){
        return imageLoc;
    }
    public ImageIcon getIcon(){
        return new ImageIcon(getClass().getResource(this.getImageLocation()));
    }
}
